import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UserModule } from './user.module';
import { User } from './user.entity';
import { ShopModule } from './shop/shop.module';

@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost', // 数据库主机
      port: 3306, // 数据库端口   
      username: 'root', // 数据库用户名
      password: '123456Yt', // 数据库密码
      database: 'first_nest', // 数据库名称
      entities: [User], // 实体类
      synchronize: true, // 自动同步数据库结构（仅用于开发环境）
      entityPrefix: 'app_', // 全局表名前缀   
      retryDelay:500, //重试连接数据库间隔
      retryAttempts:10,//重试连接数据库的次数
      autoLoadEntities:true, //如果为true,将自动加载实体 forFeature()方法注册的每个实体都将自动添加到配置对象的实体数组中
    }),
    UserModule,
    ShopModule
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
